The Internet is an increasingly popular medium for users to consume audio/video content. For example, users often use programs executing on computing devices to select videos they want to listen to and to organize their playlist according to their preferences. As such, audio/video playback programs (hereinafter ‘media players’) often provide a way for users to organize their playlist according to individual preferences. However, such programs often do not provide a method of sequencing audio/video content in an aesthetically pleasing way such that the sequence of files in a playlist provide a compelling user experience.
Media players typically try to generate an audio/video playlist (hereinafter ‘video playlist’) for a user by trying to identify videos a user may like to consume. For example, a video playback program may try to identify videos that a user may be interested in by identifying videos listed in the user's social networking system feed, by identifying videos in previous playlists created by the user, or by identifying the user's video playback history in one or more media players. However, these recommendations often result in video playlists that are ordered either chronologically or by random shuffle. Therefore, such programs fail to sequence playlists in an aesthetically pleasing way.
Some media players and information retrieval systems try to improve a chronological search result by promoting diversity within search results. Such programs produce a new ordering of a given set of items by presenting relevant results while simultaneously promoting diverse results to the top. However, in such systems, the reordering is done independent of themes presented in the retrieved documents. Thematic diversity in retrieved videos, such as metal, soft rock, pop, hip-hop may be arranged in an aesthetically pleasing way; however, such systems provide no emphasis on the order in which these themes are presented.
Some information retrieval programs try to sequence a playlist by stringing subsequences of videos together. For example, a program may analyze radio playlists to learn models of good subsequences of videos and assemble a playlist by stringing together subsequences from a library of video. However, such programs fail to generate a sequence of videos from a fixed set of videos which may or may not include videos used in a radio playlist subsequence. Some systems use permutation modeling to generate a sequence of videos in a playlist. However, such systems are typically complex and it is difficult to implement such modeling to sequence a large quantity of videos on a regular basis.